package done.easy_001_100;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 7. Reverse Integer 整数反转
 * <p>
 * 给出一个 32 位的有符号整数，你需要将这个整数中每位上的数字进行反转。
 * <p>
 * 示例 1:
 * 输入: 123
 * 输出: 321
 * 示例 2:
 * 输入: -123
 * 输出: -321
 * 示例 3:
 * 输入: 120
 * 输出: 21
 *
 * @author 大硕
 * 2019-03-20 6:58 AM
 **/
@Slf4j
public class ReverseInteger {

    @SuppressWarnings("all")
    public int reverse(int x) {
        // 190401 first
        return -1;
    }

    @Test
    public void test() {
        // 1534236469 临界值情况
        log.info("result:{}", reverse(-1020191870));
    }
}










































/*
public int reverse(int x) {
    int tmp = 0;
    while (x != 0) {

        // NO.1 新队列入栈
        // 320
        //   1 <- 加余数
        // 321
        //   * 10 <- 乘 10
        // 3210
        //    5 <- 加余数
        int t = tmp * 10 + x % 10;

        if (t / 10 != tmp) {
            return 0;
        }
        tmp = t;

        // NO.3 老队列出栈
        // 模拟出栈动作
        // 每个循环除10，个位数被移除
        x /= 10;
    }
    return tmp;
}
*/
